using B.S.BaseData.ErrorCode;
using MediatR;
using WorkOrder.Domain;
using WorkOrder.Domain.DTOs;

namespace B.S.BaseData.Api.Read.Command.OrderCommand
{
    /// <summary>
    /// 药品订单查询命令
    /// </summary>
    public class MedicineOrderQueryCommand : IRequest<APIResult<ApiPaging<MedicineOrder>>>
    {
        /// <summary>
        /// 订单状态
        /// </summary>
        public string? OrderStatus { get; set; }

        /// <summary>
        /// 搜索关键词（订单编号或用户名）
        /// </summary>
        public string? SearchKeyword { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime? StartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 页码
        /// </summary>
        public int PageIndex { get; set; } = 1;

        /// <summary>
        /// 页大小
        /// </summary>
        public int PageSize { get; set; } = 10;
    }

    /// <summary>
    /// 获取物流详情命令
    /// </summary>
    public class GetLogisticsDetailCommand : IRequest<APIResult<LogisticsDetailDto>>
    {
        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNumber { get; set; } = string.Empty;
    }
} 